<?php
namespace api\home\controller;

use think\Db;
use think\Cache;
use think\Validate;
use think\WeChat\Receive;
use think\WeChat\Menu;
use api\common\controller\RestBaseController;

class WechatController extends RestBaseController
{

    public function index()
    {
    	$config = wechat_config();
    	try {

		    // 实例接口，同时实现接口配置验证与解密处理
		    $api = new \WeChat\Receive($config);
		    
		    // 第二种方法实例接口
		    // $api = \We::WeChatReceive($config);
		    
		    // 获取当前推送接口类型 ( text,image,loction,event... )
		    $msgType = $api->getMsgType();
		    
		    // 获取当前推送来源用户的openid
		    $openid = $api->getOpenid();
		    
		    // 获取当前推送的所有数据
		    $data = $api->getReceive();
		    var_export($data);
		    
		    // 回复文本消息
		    // $api->text($content)->reply();
		    
		    // // 回复图文消息（高级图文或普通图文，数组）
		    // $api->news($news)->reply();
		    
		    // // 回复图片消息（需先上传到微信服务器生成 media_id）
		    // $api->image($media_id)->reply();
		    
		    // // 回复语音消息（需先上传到微信服务器生成 media_id）
		    // $api->voice($media_id)->reply();
		    
		    // // 回复视频消息（需先上传到微信服务器生成 media_id）
		    // $api->video($media_id,$title,$desc)->reply();
		    
		    // // 回复音乐消息
		    // $api->music($title,$desc,$musicUrl,$hgMusicUrl,$thumbe)->reply();
		    
		    // // 将消息转发给多客服务
		    // $api->transferCustomerService($account)->reply();
		    
		} catch (\Exception $e) {
		    // 处理异常
		    echo $e->getMessage();
		}
    }

    public function menu()
    {
		 $menu['type'] = 'view';
		 $menu['name'] = '账号绑定';
		 $menu['url']  = url('index/user/index',[],'',true);
		 $data['button'][] = $menu;
		
		 $config = wechat_config();
		 try {
			// 实例接口
			$menu = new \WeChat\Menu($config);

			// 执行创建菜单
			$res = $menu->create($data);
			$this->success('创建成功',$res);
		    
		} catch (Exception $e){
			// 异常处理
		    $this->error($e->getMessage());
		}
    }
}
